/*
 * Copyright 2009 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.testgal.api.shared;

import junit.framework.AssertionFailedError;

/**
 * Indicates that a comparison assertion implemented by TestOutput failed.
 *
 * @author Brian Slesinsky
 */
public class ComparisonFailedError extends AssertionFailedError {

  public ComparisonFailedError(String caption, Object expected, Object actual) {
    super(makeMessage(caption, expected, actual));
  }

  /** Creates an assertion failed message in the same format as JUnit */
  private static String makeMessage(String caption, Object expected, Object actual) {
    if (caption == null) {
      caption = "";
    } else {
      caption = caption + ": ";
    }
    return caption + "expected:<" + expected + "> but was:<" + actual + ">";
  }
}
